1. Field of the Invention
The invention relates to communications, and more particularly to spread spectrum digital communications and related systems and methods.
2. Background
Spread spectrum wireless communications utilize a radio frequency bandwidth greater than the minimum bandwidth required for the transmitted data rate, but many users may simultaneously occupy the bandwidth. Each of the users has a pseudo-random code for “spreading” information to encode it and for “despreading” (by correlation) the spread spectrum signal for recovery of the corresponding information. This multiple access is typically called code division multiple access (CDMA). The pseudo-random code may be an orthogonal (Walsh) code, a pseudo-noise (PN) code, a Gold code, or combinations (modulo-2 additions) of such codes. After despreading the received signal at the correct time instant, the user recovers the corresponding information while the remaining interfering signals appear noise-like. For example, the interim standard IS-95 for such CDMA communications employs channels of 1.25 MHz bandwidth and a code pulse interval (chip) Tc of 0.8138 microsecond with a transmitted symbol (bit) lasting 64 chips. The recent wideband CDMA (WCDMA) proposal employs a 3.84 MHz bandwidth with QPSK (quadrature phase-shift keying) modulation and chip duration of 0.26 microsecond. The CDMA code length applied to each information symbol may vary from 4 chips to 256 chips. The CDMA code for each user is typically produced as the modulo-2 addition of a Walsh code with a pseudo-random code (two pseudo-random codes for the real and imaginary parts of QPSK modulation) to improve the noise-like nature of the resulting signal. A cellular system could employ IS-95 or WCDMA for the air interface between the base station and the mobile users within a cell.
A spread spectrum receiver synchronizes with the transmitter by code acquisition followed by code tracking. Code acquisition includes an initial search to bring the phase of the receiver's local code generator to within typically a half chip of the transmitter's, and code tracking maintains fine alignment of chip boundaries of the incoming and locally generated codes. Code acquisition will also include a three-step cell search as described in more detail below. Conventional code tracking utilizes a delay-lock loop (DLL) or a tau-dither loop (TDL), both of which are based on the well-known early-late gate principle. Note that there are roughly 500 carrier cycles per chip.
In a multipath situation a RAKE receiver has individual demodulators (fingers) tracking separate paths and combines the results to improve signal-to-noise ratio (SNR), typically according to a method such as maximal ratio combining (MRC) in which the individual detected signals are synchronized and weighted according to their signal strengths. A RAKE receiver usually has a DLL or TDL code tracking loop for each finger together with control circuitry for assigning tracking units to received signal paths.
The 3GPP UMTS (universal mobile telecommunications system) approach UTRA (UMTS terrestrial radio access) provides a spread spectrum cellular air interface with both FDD (frequency division duplex) and TDD (time division duplex) modes of operation. UTRA currently employs radio frames with 10 ms duration and partitioned into 15 time slots (0.667 ms duration) with each time slot consisting of 2560 chips. In FDD mode the base station and the mobile user transmit on different frequencies, whereas in TDD mode a time slot may be allocated to transmissions by either the base station (downlink) or a mobile user (uplink). In addition, TDD systems are differentiated from the FDD systems by the presence of interference cancellation at the receiver. The spreading gain for TDD systems is small (8–16), and the absence of the long spreading code implies that the multi-user multipath interference does not look Gaussian and needs to be canceled at the receiver.
In currently proposed 3GPP in FDD mode, a mobile user performs an initial cell search when first turned on or entering a new cell. During the cell search the mobile user determines the downlink scrambling code and frame synchronization of the cell (base station). The 3GPP informative cell search procedure has the following three steps:
1. Slot synchronization. The mobile user first detects the primary synchronization code (PSC) on the downlink synchronization channel (SCH) to acquire slot synchronization to a cell. The SCH occupies the first 256 chips out of the 2560 chips of each slot. This may be done with a single matched filter that is matched to the PSC which is common to all cells and not scrambled. The slot timing of the cell can seen from peaks in the matched filter output; see FIG. 2a. 
2. Frame synchronization and code-group identification. Next, the mobile user detects the sequence of secondary synchronization codes (SSCs) on the SCH to find frame synchronization an identify the code group of the cell found in step 1. This may be done by correlating the received (slot-synchronized) signal with all 64 defined SSC sequences of length 15 (one SSC per slot), and identifying the maximum correlation. There are 16 distinct SSCs, and the length-15 sequence of SSCs may include repeats of a particular SSC. The length-15 sequences are unique under cyclic shifts of less than 15, so the maximum correlation identifies both the particular length-15 sequence and the frame synchronization. The 64 length-15 sequences correspond to 64 scrambling code groups, so step 2 also determines the scrambling code group of the cell. Because there are 64 length-15 sequences and 15 possible shifts of each sequence, there are 64×15=960 correlations over a 15-slot interval to compare.
3. Scrambling-code identification. Lastly, the mobile user determines the primary scrambling code used by the found cell (base station) in steps 1–2 through symbol-by-symbol correlation of the received signal over the common pilot channel (CPICH) with all 8 scrambling codes within the scrambling code group identified in step 2. After the primary scrambling code has been identified, the mobile user detects the primary common control physical channel (P-CCPCH) and reads system-specific and cell-specific broadcast channel (BCH) information.
Analogously, a TDD mode cell search also has three steps, but the channel structure differs in that the physical synchronization channel (PSCH) has 256 chips in just one or two time slots per frame and with a selected offset from the beginning of the slot. As with FDD, the TDD base station transmits the PSC and SSCs in the PSCH without scrambling. However, the TDD base station transmits a sum of the PSC and a scaled linear combination of three SSCs of a code set; the linear combination varies with periodicity of one or two frames and thereby allows determination of the code set. The cell search steps are.
1. Slot synchronization. The mobile user achieves slot synchronization to the strongest cell using the PSC. Furthermore, frame synchronization with the uncertainty of 1 out of 2 is obtained in this step. A single matched filter which is matched to the PSC may be used.
2. Frame synchronization and code-group identification. The mobile user next uses the linear combination of SSCs to find frame synchronization and identify one out of 32 code groups. Each code group is linked to a specific offest and thus to a specific frame timing, and each code group associates with four scrambling codes. Each scrambling code associates with a specific short and long basic midamble code. Also, for the cases of PSCH in two slots per frame, the mobile user performs more PSC correlation to find the position of the next PSCH slots (7 or 8 slot durations).
3. Scrambling code identification. Lastly, the mobile user determines the exact basic midamble code and the accompanying scrambling code used by the found cell. These are identified through correlation over the primary common control physical channel with all four midambles of the code group identified in step 2.
However, these synchronization methods have problems including low performance in the presence of frequency errors between the base station oscillator and the mobile user oscillator.